<script setup lang="js">
import HomePanel from './HomePanel.vue' //引入面板组件
import { findNewAPI } from '@/apis/home' //导入接口
import { onMounted, ref } from 'vue'

//接收新鲜好物数据
const newList = ref([])

//发送新鲜好物请求
const getNewList = async () => {
    const res = await findNewAPI()
    //测试能否成功拿到数据
    console.log(res)
    newList.value = res.result
}
//挂载时发送请求
onMounted(() => {
    getNewList()
})
</script>

<template>
    <!--HomePanel是容器组件，接收两个props参数:主标题和副标题。内部通过插槽(slot)机制接收外部注入的内容 -->
    <HomePanel title="新鲜好物" subTitle="新鲜出品 品质可靠">
        <!-- 在插槽中循环输出数据 -->
        <!-- 使用ul无序列表作为容器，CSS类名goods-list控制样式 -->
        <ul class="goods-list">
            <!-- v-for="item in newList"遍历响应式数组newList，自动响应数据变化。:key="item.id"使用商品唯一ID优化渲染性能-->
            <li v-for="item in newList" :key="item.id">
                <!-- <RouterLink to='/'>包裹整个商品项，点击触发路由跳转（实际开发中需改为具体商品详情页路径） -->
                <RouterLink to='/'>
                    <img :src="item.picture" alt="" />
                    <p class="name">{{ item.name }}</p>
                    <!-- &yen;{{ item.price }}显示人民币符号+价格 -->
                    <p class="price">&yen;{{ item.price }}</p>
                </RouterLink>
            </li>
        </ul>
    </HomePanel>
</template>


<style scoped lang='scss'>
.goods-list {
    display: flex;
    justify-content: space-between;
    height: 406px;

    li {
        width: 306px;
        height: 406px;

        background: #f0f9f4;
        transition: all .5s;

        &:hover {
            transform: translate3d(0, -3px, 0);
            box-shadow: 0 3px 8px rgb(0 0 0 / 20%);
        }

        img {
            width: 306px;
            height: 306px;
        }

        p {
            font-size: 22px;
            padding-top: 12px;
            text-align: center;
            text-overflow: ellipsis;
            overflow: hidden;
            white-space: nowrap;
        }

        .price {
            color: $priceColor;
        }
    }
}
</style>